#pragma once
#include <vector>
#include <string>
#include "Token.h"
#include "Parameter.h"

class Predicate {
	public:
		Predicate() {}
		Predicate(Token id) {
			this->id = id;
		}

		void pushParameter(Parameter param) {
			parameterList.push_back(param);
		}

		string toString() {
			string temp = "";
			temp += id.getValue() + "(";

			for (int lcv=0; lcv < parameterList.size(); lcv++)
			{
				temp += parameterList[lcv].toString();
				if(lcv != parameterList.size() - 1)
				{
					temp += ",";
				}
			}

			temp += ")";

			return temp;
		}
	private:
		Token id;
		vector<Parameter> parameterList;
};